axios通过pdf下载地址预览pdf

您所在的位置:网站首页 js 文件下载与预览的区别是什么 axios通过pdf下载地址预览pdf

axios通过pdf下载地址预览pdf

2024-07-09 22:11| 来源: 网络整理| 查看: 265

前言

最近做一个功能,根据一个pdf的下载地址,做出既能下载又能预览pdf的两个功能按钮,因为地址本身在浏览器中打开就能下载,直接记录怎么实现预览功能。

具体步骤

1.前台html代码

2.前台js代码

axios({ method: 'get', url:'/preview', params:{ pdfUrl:'https://xxxx/xxx/xxx.pdf' }, responseType: 'blob', }).then(function (response) { let blob = new Blob([response.data], { type: response.data.type }) let url = URL.createObjectURL(blob) document.getElementById('iframe').src = url }).catch(err => { });

3.后台代码

@RequestMapping("/preview") public void preview(HttpServletResponse response, String pdfUrl) { response.setContentType("application/pdf"); try(OutputStream out = response.getOutputStream(); InputStream in = new BufferedInputStream(new URL(pdfUrl).openConnection().getInputStream())) { byte[] b = new byte[1024]; int len = 0; while ((len = in.read(b))!=-1) { out.write(b,0,len); } out.flush(); } catch (Exception e) { System.out.println(e); } } 后记

实现办法还有用pdf.js,因为不想在vue中添加依赖,没有采用。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3